package cn.flexui.flexuiserver.domain.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.io.Serial;
import java.util.Date;

/**
 * <p>
 * 用户信息表
 * </p>
 *
 * @author apeto
 * @since 2024-09-15 08:37:16
 */
@Getter
@Setter
@TableName("user_info")
@Schema(name = "UserInfo", description = "用户信息表")
public class UserInfo extends BaseEntity<UserInfo> {

    @Serial
    private static final long serialVersionUID = 1L;

    @Schema(description = "三方openId")
    @TableField("open_id")
    private String openId;

    @Schema(description = "昵称")
    @TableField("nickname")
    private String nickname;

    @Schema(description = "用户名")
    @TableField("username")
    private String username;

    @Schema(description = "各平台中的用户个人介绍")
    @TableField("remark")
    private String remark;

    @Schema(description = "头像")
    @TableField("avatar")
    private String avatar;

    @Schema(description = "手机号")
    @TableField("phone")
    private String phone;

    @Schema(description = "邮箱")
    @TableField("email")
    private String email;

    @Schema(description = "密码")
    @TableField("password")
    private String password;

    @Schema(description = "状态 1: 正常 2: 注销 3: 冻结")
    @TableField("status")
    private Integer status;

    @Schema(description = "性别")
    @TableField("gender")
    private String gender;

    @Schema(description = "会员有效日期")
    @TableField("member_valid_time")
    private Date memberValidTime;

    @Schema(description = "认证类型")
    @TableField("auth_type")
    private String authType;
}
